#include "grid.h"

// Grid::Grid(QWidget *parent)
//     : QWidget{parent}
//{

//}

Grid::Grid()
{
    QPixmap pix;
    pix.load(":/res/mineBk.png");
    pix = pix.scaled(mine_wide_height, mine_wide_height);
    // 设置按钮图片显示
    this->setFixedSize(pix.width(), pix.height());
    this->setIcon(pix);
    this->setIconSize(QSize(pix.width(), pix.height()));
}
// 重写鼠标进入事件（突出显示）
void Grid::enterEvent(QEnterEvent *event)
{
    Q_UNUSED(event);
    // 未被翻开 且 未放旗子时 鼠标进入时突出显示
    if (!this->isClicked && !this->isFlag)
    {
        this->setIcon(QIcon(":/res/mineBk_enter.png"));
    }
}
// 鼠标离开（突出显示）
void Grid::leaveEvent(QEvent *event)
{
    Q_UNUSED(event);
    // 未被翻开 且 未放旗子时 鼠标进入时恢复原状
    if (!this->isClicked && !this->isFlag)
    {
        this->setIcon(QIcon(":/res/mineBk.png"));
    }
}
// 鼠标按下（检测右键按下 放置旗子）
void Grid::mousePressEvent(QMouseEvent *e)
{
    // 点击右键 且 没有被翻开时
    if ((e->button() == Qt::RightButton) && !this->isClicked)
    {
        emit this->playFlag();
    }
    return QPushButton::mousePressEvent(e);
}
